package com.ruoyi.com.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.com.domain.ComDeptMenu;
import com.ruoyi.common.core.domain.OperateBasicForm;
import com.ruoyi.common.core.domain.entity.ComMenu;

import java.util.List;

/**
 * 机构和公共菜单关联Mapper接口
 *
 * @author sunye
 * @date 2024-09-27
 */
public interface ComDeptMenuMapper extends BaseMapper<ComDeptMenu>
{
    /**
     * 查询机构和公共菜单关联
     *
     * @param deptId 机构和公共菜单关联主键
     * @return 机构和公共菜单关联
     */
    public ComDeptMenu selectComDeptMenuByDeptId(Long deptId);

    /**
     * 查询机构和公共菜单关联列表
     *
     * @param comDeptMenu 机构和公共菜单关联
     * @return 机构和公共菜单关联集合
     */
    public List<ComDeptMenu> selectComDeptMenuList(ComDeptMenu comDeptMenu);


    /**
     * 删除机构和公共菜单关联
     *
     * @param deptId 机构和公共菜单关联主键
     * @return 结果
     */
    public int deleteComDeptMenuByDeptId(Long deptId);

    /**
     * 批量删除机构和公共菜单关联
     *
     * @param deptIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteComDeptMenuByDeptIds(Long[] deptIds);

    /**
     * 置为有效/无效机构和公共菜单关联
     *
     */
    public int effectiveStatus(OperateBasicForm operateBasicForm);

    void deleteMenuByDeptId(Long deptId);

    int insertBatch(List<ComDeptMenu> list);

    List<ComMenu> selectMenuParentListByDeptId(Long deptId);

    List<ComMenu> selectMenuListByRoleId(Long roleId);
}
